---
description:
  What is Apollo Angular and what does it do?. Learn how to use Apollo Angular to build your next
  app.
---

# Introduction

## Write Queries, Not Code

[Apollo Client](https://github.com/apollographql/apollo-client) is a flexible, community driven,
GraphQL client for JavaScript. It is designed from the ground up to make it easy to build UI
components that fetch data with GraphQL. To get the most value out of Apollo Client, you should use
it with one of its view layer integrations. To get started with the Angular integration, go to
[Get Started](./get-started).

1. **Incrementally adoptable**, so that you can drop it into an existing JavaScript app and start
   using GraphQL for just part of your UI.
1. **Universally compatible**, so that Apollo works with any build setup, any GraphQL server, and
   any GraphQL schema.
1. **Simple to get started with**, so you can start loading data right away and learn about advanced
   features later.
1. **Inspectable and understandable**, so that you can have great developer tools to understand
   exactly what is happening in your app.
1. **Built for interactive apps**, so your users can make changes and see them reflected in the UI
   immediately.
1. **Small and flexible**, so you don't get stuff you don't need. The core is under 12kb compressed.
1. **Community driven**, because Apollo is driven by the community and serves a variety of use
   cases. Everything is planned and developed in the open.

These docs will help you to go from getting started with Apollo to becoming an expert!

## Getting Started

The docs are divided into three distinct sections to make it easy to find your way around:

1. **Basics**, which outline the why and how of using Apollo Angular to build your application.
1. **Features**, which showcase some advanced capabilities of Apollo Angular that your app may need.
1. **Recipes**, to isolate and explain how to do common patterns.

Getting started is as simple as installing a few libraries from npm! The
[Get Started](./get-started) is a good place to start your adventure with Apollo!

### Compatible Tools

We want you to love working with Apollo Angular, so we work extra hard to make sure it works with
the client or server tools you're already using! The maintainers and contributors focus on solving
the hard problems around GraphQL caching, request management, and UI updating, and we want that to
be available to anyone regardless of their technical requirements and preferences for other parts of
the app.

### The Angular Toolbox

Apollo is lovingly designed to work nicely with all the tools used by today's Angular developers.
Here are some in particular:

- **Angular Schematics**: Apollo Angular supports `ng-add` and `ng-update`
- **NativeScript**: Apollo works out of the box in NativeScript.
- **Angular Router**: Apollo Client is completely router-independent, which means you can use it
  with any version of [Angular Router](https://github.com/angular/angular) or any other routing
  library for Angular. It's even easy to set up
  [server-side rendering](./performance/improving-performance).
- **Ionic**: Apollo works great with [Ionic Framework](http://ionicframework.com) apps written in
  Angular

If you have a favorite Angular tool, and something in Apollo makes it difficult to integrate, please
open an issue and let's work together to make it work nicely and add it to the list!

### GraphQL Servers

We believe that using GraphQL should be easy and fun. One of the ways Apollo is designed for this is
that if you can write your query in GraphiQL, it'll work with Apollo Client! Because it doesn't
assume anything beyond the official GraphQL specification, Apollo works with every GraphQL server
implementation, for _every_ language. It doesn't impose any requirements on your schema either! If
you can send a query to a standard GraphQL server, Apollo can handle it. You can find a list of
GraphQL server implementations on [graphql.org](http://graphql.org/code/#server-libraries).

### Other JavaScript + Native Platforms

This documentation site is written with examples using Angular, but Apollo has an implementation for
every client platform:

- JavaScript
  - [React](https://apollographql.com/docs/react)
  - [Vue](https://github.com/Akryum/vue-apollo)
  - [Ember](https://github.com/bgentry/ember-apollo-client)
  - [Polymer](https://github.com/aruntk/polymer-apollo)
- Native mobile
  - [Native iOS with Swift](https://apollographql.com/docs/ios)
  - [Native Android with Java](https://github.com/apollographql/apollo-android)
